const ws = require('nodejs-websocket')
//总的连接用户数量
let count = 0

//每个连接到服务器的用户，都会有一个conn
const server = ws.createServer(conn =>{
   count++
   conn.userName = `用户${count}`
   broadcast(`${conn.userName}进入了聊天室`)
   console.log('新的连接')
//    1.告诉所有用户，有人加入聊天室
   //接收到浏览器的数据
   conn.on('text',data =>{
       //2.当接收到某一用户的信息的时候，广播给所有用户，发送的消息是什么
       console.log('接收到用户消息')
       broadcast(data)
   })
   //关闭连接时触发
   conn.on('close',data =>{
    count--
    // 3.某一用户离开的时候，也通知所有用户
    broadcast(`${conn.userName}离开了聊天室`)
   })
   //连接产生错误时触发
   conn.on('error',data =>{})
})

server.listen(3000, () =>{
    console.log('聊天室服务器连接成功');
    
})

//广播，给所有用户发送消息
function broadcast(msg){
    server.connections.forEach(user =>{
        user.send(msg)
    })
}